home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mobiclic 47
/
MOBICLIC 47.ISO
/
mac
/
DATA
/
CALEND
/
calen14.dir
/
00004_Script_be_position_Mots
< prev
next >
Wrap
Text File
|
2002-09-19
|
3KB
|
122 lines
--SA--1709-------------
property psprite,pRollName, pmember,pPos
property pbase,pLocZ,pRect,pspriteNum,placed
global gRect, gListe_Pistes_Occupees
-----------------------------------------------------
on beginsprite me
psprite = sprite(me.spritenum)
pMember = psprite.member
pRollNAme = psprite.member.name&" r"
-------------------------------
pbase = psprite.loc --position de base
psprite.moveablesprite = true
placed = false
end
------------------------------------------------------
on mouseUp me
cursor 260
me.lacher_Mot()
end
--------------------------------------test clic droit de la souris
on rightMouseUp me
me.lacher_Mot()
end
----------------------------------------------------
on mouseEnter me
if placed then
cursor 280
else
cursor 260
end if
psprite.member = member pRollname
end
----------------------------------------------------
on mouseDown me
jingle(3,"tic","OUT")----------------------- bruitage tic
if placed then
psprite.moveablesprite = false
cursor 280
else
cursor 290
end if
psprite.locZ = 60
end
----------------------------------------------------
on mouseLeave me
cursor -1
psprite.member = pMember
end
-----------------------****************************------mΘthodes privΘes
on mTest_position me
pRect = inflate(psprite.rect,-2,-2)
repeat with i = 1 to grect.count
if prect.Intersect(gRect[i]) <> rect(0,0,0,0) then
-------------***** si emplacement occupΘ --****
if gListe_Pistes_Occupees[i] <> 0 then
num = gListe_Pistes_Occupees[i]
psprite.loc = sprite(num).loc
sendsprite(num,#mPositionDeBase)
me.une_Fois_enPlace(i)
exit
end if -------------------------------------****
-----------***** placement sur zone vide ---****
aloch = grect[i].width/2 + grect[i].left
alocv = grect[i].height/2 + grect[i].top
psprite.loc = point(aloch,alocV)
me.une_Fois_enPlace(i)
exit --------------------------------------****
else
psprite.loc = pBase
end if
end repeat
end
---------------------------------------------------
on mPositionDeBase me
-- repositionne au point de dΘpart
psprite.loc = pBase
placed = false
psprite.moveablesprite = true
-- recherche la piste dans la liste et remets la valeur α 0
index = gListe_Pistes_Occupees.getone(me.spritenum)
gListe_Pistes_Occupees[index] = 0
--
end
---------------------------------------------------
on lacher_Mot me
-- si le mot est placΘ alors au clic il revient α sa base de dΘpart
if placed then
me.mPositionDeBase()
placed = false
exit
end if
--sinon on teste la zone d'accueil
me.mTest_position()
end
---------------------------------------------------
on une_Fois_enPlace me,j
gListe_Pistes_Occupees[j] = me.spritenum --enregistrement d'occupation
psprite.locZ = me.spritenum -- rΘtablissement du locZ d'origine
placed = true --flag utilisΘ dans le gestonnaire **me.lacher_Mot()**
jingle(3,"poc","OUT")----------------------- bruitage poc
end